﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;

public partial class DeNghiTamUng : System.Web.UI.Page
{
    SqlParameter[] p;
    clsXuLy ex = new clsXuLy();
    static ReportDocument rpt;
    string frmName = "frmTamUng";
    static int STT = 0;
    String tk;
    public string Header = System.Configuration.ConfigurationSettings.AppSettings["Header"].ToString();
    static DataTable dt;
    int hinhthuc;
    string manhanvien;
    static int f_PheDuyet = 0, f_Xuat = 0, f_SuDung = 0, f_Them = 0, f_Sua = 0, f_Xoa = 0;
    static string ngay = DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() : DateTime.Now.Day.ToString();
    static string hinhthuctt = "", chutaikhoan = "", chutk = "", sotaikhoan = "", tkhoan = "", tainganhang = "", nh = "", taichinhanh = "", chinhanh = "";
    static string thang = DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() : DateTime.Now.Month.ToString();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(Convert.ToString(Session["IDUser"])) || string.IsNullOrEmpty(Convert.ToString(Session["NhomND"])))
            gstGetMess("Hết phiên làm việc, vui lòng đăng nhập để tiếp tục", "Default.aspx");
        else
        {
            if (!IsPostBack)
            {
                Title = "Đơn xin tạm ứng | " + Header;
                string idnhom = Session["NhomND"].ToString();
                string sql = "select isnull([print],0), isnull(pheduyet,0), SuDung,Them,Sua,Xoa from vnttblnguoidungchucnang where idnhomnguoidung='" + idnhom + "' and tag='" + frmName + "'";

                DataTable dt2 = ex.GetData_Text(sql);
                if (dt2.Rows.Count > 0)
                {
                    f_Xuat = int.Parse(dt2.Rows[0][0].ToString());
                    f_PheDuyet = int.Parse(dt2.Rows[0][1].ToString());
                    f_SuDung = int.Parse(dt2.Rows[0]["SuDung"].ToString());
                    f_Them = int.Parse(dt2.Rows[0]["Them"].ToString());
                    f_Sua = int.Parse(dt2.Rows[0]["Sua"].ToString());
                    f_Xoa = int.Parse(dt2.Rows[0]["Xoa"].ToString());
                }
                if (f_SuDung.Equals(1))
                {
                    btnCancel_Click(sender, e);
                    LoadThongTin();
                }
                else
                    gstGetMess("Bạn không có quyền xem trang này", "Home.aspx");
            }
        }
    }
    protected void ckchuyenkhoan_CheckedChanged(object sender, EventArgs e)
    {
        lbchinhanh.Visible = true;
        lbchutaikhoan.Visible = true;
        lbnganhang.Visible = true;
        lbsotaikhoan.Visible = true;
        txtchinhanh.Visible = true;
        txtnganhang.Visible = true;
        txtsotaikhoan.Visible = true;
        txtchutaikhoan.Visible = true;
    }
    protected void cktienmat_CheckedChanged(object sender, EventArgs e)
    {
        lbchinhanh.Visible = false;
        lbchutaikhoan.Visible = false;
        lbnganhang.Visible = false;
        lbsotaikhoan.Visible = false;
        txtchinhanh.Visible = false;
        txtnganhang.Visible = false;
        txtsotaikhoan.Visible = false;
        txtchutaikhoan.Visible = false;
    }
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        STT = ex.GetValueInt_Text("select count(*) from vnttblautonumber where upper(Name)='" + frmName.ToUpper() + "'");

        if (STT.Equals(0))
            STT++;
        else
            STT = ex.GetValueInt_Text("select isnull(Number,0) from vnttblautonumber where upper(name)='" + frmName.ToUpper() + "'") + 1;

        txtSo.Text = DateTime.Now.ToString("yyMMdd") + STT.ToString();

        LoadDanhSach();
    }
    private void LoadThongTin()
    {
        try
        {
            tk = Session["user"].ToString();
            p = new SqlParameter[1];
            p[0] = new SqlParameter("@username", tk);
            p[0].SqlDbType = SqlDbType.VarChar;
            var ht1 = ex.GetData("sp_vntThongTinUser_TamUng", p);
            txtnguoidenghi.Text = ht1.Rows[0][0].ToString();
            txtbophan.Text = ht1.Rows[0][1].ToString();
            txtchucvu.Text = ht1.Rows[0][2].ToString();
            manhanvien = ht1.Rows[0][3].ToString();
        }
        catch (Exception ex)
        {
            gstGetMess("Có lỗi" + ex.Message, "");
        }
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (f_Them.Equals(1))
        {

            if (string.IsNullOrEmpty(Convert.ToString(Session["IDUser"])))
                gstGetMess("Hết phiên làm việc, vui lòng đăng nhập để tiếp tục", "Default.aspx");
            else
            {
                tk = Session["user"].ToString();
                var ht2 = ex.GetData_Text("select MaNV from vnttblnguoidung where Username='" + tk + "'");
                Guid manv = new Guid(ht2.Rows[0][0].ToString());
                p = new SqlParameter[13];
                p[0] = new SqlParameter("@IDs", Guid.NewGuid());
                p[0].SqlDbType = SqlDbType.UniqueIdentifier;
                p[1] = new SqlParameter("@MaNguoiDeNghi", manv);
                p[1].SqlDbType = SqlDbType.UniqueIdentifier;
                p[2] = new SqlParameter("@SoTien", txtsotien.Text.Trim());
                p[2].SqlDbType = SqlDbType.Float;
                p[3] = new SqlParameter("@BangChu", txtvietbangchu.Text.Trim());
                p[3].SqlDbType = SqlDbType.NVarChar;
                if (cktienmat.Checked)
                    hinhthuc = 0;
                if (ckchuyenkhoan.Checked)
                    hinhthuc = 1;
                p[4] = new SqlParameter("@HinhThuc", hinhthuc);
                p[4].SqlDbType = SqlDbType.Int;
                p[5] = new SqlParameter("@ChuTaiKhoan", txtchutaikhoan.Text.Trim());
                p[5].SqlDbType = SqlDbType.NVarChar;
                p[6] = new SqlParameter("@SoTaiKhoan", txtsotaikhoan.Text.Trim());
                p[6].SqlDbType = SqlDbType.VarChar;
                p[7] = new SqlParameter("@NganHang", txtnganhang.Text.Trim());
                p[7].SqlDbType = SqlDbType.NVarChar;
                p[8] = new SqlParameter("@ChiNhanh", txtchinhanh.Text.Trim());
                p[8].SqlDbType = SqlDbType.NVarChar;
                p[9] = new SqlParameter("@ThoiHan", ex.GetNgayThang(txtthoihan.Text.Trim()));
                p[9].SqlDbType = SqlDbType.SmallDateTime;
                p[10] = new SqlParameter("@Lido", txtlido.Text.Trim());
                p[10].SqlDbType = SqlDbType.NVarChar;
                p[11] = new SqlParameter("@YKien", "");
                p[11].SqlDbType = SqlDbType.NVarChar;
                p[12] = new SqlParameter("@SoTT", txtSo.Text.Trim());
                p[12].SqlDbType = SqlDbType.VarChar;
                ex.ExecuteNonQuerry("sp_vntTamUng_Insert", p);
                int s = ex.GetValueInt_Text("select count(*) from vnttblautonumber where upper(Name)='" + frmName.ToUpper() + "'");
                if (s.Equals(0))
                {
                    //Insert auto number
                    p = new SqlParameter[4];
                    p[0] = new SqlParameter("@IDs", Guid.NewGuid());
                    p[0].SqlDbType = SqlDbType.UniqueIdentifier;
                    p[1] = new SqlParameter("@Name", frmName);
                    p[1].SqlDbType = SqlDbType.VarChar;
                    p[2] = new SqlParameter("@Number", 1);
                    p[2].SqlDbType = SqlDbType.Int;
                    p[3] = new SqlParameter("@Ngay", DateTime.Now.ToString("yyMMdd"));
                    p[3].SqlDbType = SqlDbType.VarChar;
                    ex.ExecuteNonQuerry("sp_vnttblautonumber_Add", p);
                }
                else
                {
                    //Update auto number
                    p = new SqlParameter[3];
                    p[0] = new SqlParameter("@Name", frmName);
                    p[0].SqlDbType = SqlDbType.VarChar;
                    p[1] = new SqlParameter("@Number", txtSo.Text.Trim().Substring(6));
                    p[1].SqlDbType = SqlDbType.Int;
                    p[2] = new SqlParameter("@Ngay", DateTime.Now.ToString("yyMMdd"));
                    p[2].SqlDbType = SqlDbType.VarChar;
                    ex.ExecuteNonQuerry("sp_vnttblautonumber_Update", p);
                }
                gstGetMess("Lưu thành công", "");
                btnCancel_Click(sender, e);
            }
        }
    }
    private void gstGetMess(string gstMess, string gstLink)
    {
        if (gstLink == "")
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('" + gstMess + "')", true);
        else
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "alert('" + gstMess + "');window.location.href='" + gstLink + "'", true);

    }
    private void LoadDanhSach()
    {
        if (string.IsNullOrEmpty(Convert.ToString(Session["user"])))
            gstGetMess("Hết phiên làm việc, vui lòng đăng nhập để tiếp tục", "Default.aspx");
        else
        {
            string id = Session["IDUser"].ToString();
            Guid IDNV = new Guid(id);
            p = new SqlParameter[1];

            p[0] = new SqlParameter("@IDs", IDNV);
            dt = ex.GetData("sp_vntTamUng_ListAll", p);
            GVTatca.DataSource = dt;
            GVTatca.DataBind();
        }
    }
    private void LoadDanhSachDaDuyet()
    {
        if (string.IsNullOrEmpty(Convert.ToString(Session["user"])))
            gstGetMess("Hết phiên làm việc, vui lòng đăng nhập để tiếp tục", "Default.aspx");
        else
        {
            string id = Session["IDUser"].ToString();
            Guid IDNV = new Guid(id);
            p = new SqlParameter[1];

            p[0] = new SqlParameter("@IDs", IDNV);
            dt = ex.GetData("sp_vntTamUng_ListAll_DaDuyet", p);
            GVDaDuyet.DataSource = dt;
            GVDaDuyet.DataBind();
        }
    }
    private void LoadDanhSachChoDuyet()
    {
        if (string.IsNullOrEmpty(Convert.ToString(Session["user"])))
            gstGetMess("Hết phiên làm việc, vui lòng đăng nhập để tiếp tục", "Default.aspx");
        else
        {
            string id = Session["IDUser"].ToString();
            Guid IDNV = new Guid(id);
            p = new SqlParameter[1];

            p[0] = new SqlParameter("@IDs", IDNV);
            dt = ex.GetData("sp_vntTamUng_ListAll_ChoDuyet", p);
            GV.DataSource = dt;
            GV.DataBind();

        }
    }
    private void LoadDanhSachKhongDuyet()
    {
        if (string.IsNullOrEmpty(Convert.ToString(Session["user"])))
            gstGetMess("Hết phiên làm việc, vui lòng đăng nhập để tiếp tục", "Default.aspx");
        else
        {
            string id = Session["IDUser"].ToString();
            Guid IDNV = new Guid(id);
            p = new SqlParameter[1];

            p[0] = new SqlParameter("@IDs", IDNV);
            dt = ex.GetData("sp_vntTamUng_ListAll_KhongDuyet", p);
            GVKhongDuyet.DataSource = dt;
            GVKhongDuyet.DataBind();

        }
    }
    protected void ck1_CheckedChanged(object sender, EventArgs e)
    {
        btnCancel_Click1(sender, e);
        LoadDanhSach();
        GVTatca.Visible = true;
        GV.Visible = false;
        GVDaDuyet.Visible = false;
        GVKhongDuyet.Visible = false;
    }
    protected void ck2_CheckedChanged(object sender, EventArgs e)
    {
        btnCancel_Click1(sender, e);
        LoadDanhSachDaDuyet();
        GVTatca.Visible = false;
        GV.Visible = false;
        GVDaDuyet.Visible = true;
        GVKhongDuyet.Visible = false;
    }

    protected void ck3_CheckedChanged(object sender, EventArgs e)
    {
        btnCancel_Click1(sender, e);
        LoadDanhSachChoDuyet();

        GVTatca.Visible = false;
        GV.Visible = true;
        GVDaDuyet.Visible = false;
        GVKhongDuyet.Visible = false;
    }
    protected void GV_RowCommand(object sender, GridViewCommandEventArgs e)
    {

        string ID = e.CommandArgument.ToString();
        hdID.Value = ID;
        Guid gID = new Guid(ID);
        p = new SqlParameter[1];
        p[0] = new SqlParameter("@IDs", gID);
        p[0].SqlDbType = SqlDbType.UniqueIdentifier;

        if (e.CommandName.Equals("Select"))
        {
            btnCancel_Click1(sender, e);
            DataTable dt = ex.GetData("sp_vntTamUng_ListAll_ChoDuyet_ListByID", p);
            if (dt.Rows.Count > 0)
            {
                try
                {

                    txtsotien.Text = dt.Rows[0]["sotien"].ToString();

                    txtvietbangchu.Text = dt.Rows[0]["BangChu"].ToString();
                    txtlido.Text = dt.Rows[0]["lido"].ToString();


                    if (dt.Rows[0]["hinhthuc"].ToString() == "1")
                    {
                        cktienmat.Checked = false;
                        ckchuyenkhoan.Checked = true;
                        lbchinhanh.Visible = true;
                        lbchutaikhoan.Visible = true;
                        lbnganhang.Visible = true;
                        lbsotaikhoan.Visible = true;
                        txtchinhanh.Visible = true;
                        txtnganhang.Visible = true;
                        txtsotaikhoan.Visible = true;
                        txtchutaikhoan.Visible = true;
                        txtchutaikhoan.Text = dt.Rows[0]["ChuTaiKhoan"].ToString();
                        txtsotaikhoan.Text = dt.Rows[0]["SoTaiKhoan"].ToString();
                        txtnganhang.Text = dt.Rows[0]["NganHang"].ToString();
                        txtchinhanh.Text = dt.Rows[0]["ChiNhanh"].ToString();
                    }
                    else
                    {
                        ckchuyenkhoan.Checked = false;
                        cktienmat.Checked = true;
                        lbchinhanh.Visible = false;
                        lbchutaikhoan.Visible = false;
                        lbnganhang.Visible = false;
                        lbsotaikhoan.Visible = false;
                        txtchinhanh.Visible = false;
                        txtnganhang.Visible = false;
                        txtsotaikhoan.Visible = false;
                        txtchutaikhoan.Visible = false;
                    }
                    txtthoihan.Text = dt.Rows[0]["thoihan"].ToString();

                }
                catch (Exception ex1)
                {
                    gstGetMess(ex1.Message, "");
                }

            }

            btnSave.Visible = true;
            btnPDF.Visible = false;
            btncapnhat.Visible = true;
            btnXoa.Visible = true;
            btnDuyet.Visible = true;
            btnSave.Visible = false;
        }
        else
            if (e.CommandName.Equals("Del"))
            {

                try
                {
                    ex.ExecuteNonQuerry("sp_vntTamUng_Del", p);
                    btnCancel_Click(sender, e);
                    gstGetMess("Xóa thành công", "");
                    btnCancel_Click(sender, e);
                }
                catch (Exception ax)
                {
                    gstGetMess("Lỗi: " + ax.Message, "");

                }

            }
    }
    protected void GVTatca_RowCommand(object sender, GridViewCommandEventArgs e)
    {

        string ID = e.CommandArgument.ToString();
        hdID.Value = ID;
        Guid gID = new Guid(ID);
        p = new SqlParameter[1];
        p[0] = new SqlParameter("@IDs", gID);
        p[0].SqlDbType = SqlDbType.UniqueIdentifier;

        if (e.CommandName.Equals("Select"))
        {

            DataTable dt = ex.GetData("sp_vntTamUng_ListAll_ChoDuyet_ListByID", p);
            if (dt.Rows.Count > 0)
            {
                try
                {

                    txtsotien.Text = dt.Rows[0]["sotien"].ToString();

                    txtvietbangchu.Text = dt.Rows[0]["BangChu"].ToString();
                    txtlido.Text = dt.Rows[0]["lido"].ToString();


                    if (dt.Rows[0]["hinhthuc"].ToString() == "1")
                    {

                        cktienmat.Checked = false;
                        ckchuyenkhoan.Checked = true;
                        lbchinhanh.Visible = true;
                        lbchutaikhoan.Visible = true;
                        lbnganhang.Visible = true;
                        lbsotaikhoan.Visible = true;
                        txtchinhanh.Visible = true;
                        txtnganhang.Visible = true;
                        txtsotaikhoan.Visible = true;
                        txtchutaikhoan.Visible = true;
                        txtchutaikhoan.Text = dt.Rows[0]["ChuTaiKhoan"].ToString();
                        txtsotaikhoan.Text = dt.Rows[0]["SoTaiKhoan"].ToString();
                        txtnganhang.Text = dt.Rows[0]["NganHang"].ToString();
                        txtchinhanh.Text = dt.Rows[0]["ChiNhanh"].ToString();
                    }
                    else
                    {
                        ckchuyenkhoan.Checked = false;

                        cktienmat.Checked = true;
                        lbchinhanh.Visible = false;
                        lbchutaikhoan.Visible = false;
                        lbnganhang.Visible = false;
                        lbsotaikhoan.Visible = false;
                        txtchinhanh.Visible = false;
                        txtnganhang.Visible = false;
                        txtsotaikhoan.Visible = false;
                        txtchutaikhoan.Visible = false;
                    }
                    txtthoihan.Text = dt.Rows[0]["thoihan"].ToString();

                }
                catch (Exception ex1)
                {
                    gstGetMess(ex1.Message, "");
                }

            }

            btnSave.Visible = true;
            btnPDF.Visible = false;
            btncapnhat.Visible = false;
            btnXoa.Visible = false;
            btnDuyet.Visible = false;
            btnSave.Visible = false;
        }
        else
            if (e.CommandName.Equals("Del"))
            {

                try
                {
                    ex.ExecuteNonQuerry("sp_vntTamUng_Del", p);
                    btnCancel_Click(sender, e);
                    gstGetMess("Xóa thành công", "");
                    btnCancel_Click(sender, e);
                }
                catch (Exception ax)
                {
                    gstGetMess("Lỗi: " + ax.Message, "");

                }

            }
    }
    protected void GVDaDuyet_RowCommand(object sender, GridViewCommandEventArgs e)
    {

        string ID = e.CommandArgument.ToString();
        hdID.Value = ID;
        Guid gID = new Guid(ID);
        p = new SqlParameter[1];
        p[0] = new SqlParameter("@IDs", gID);
        p[0].SqlDbType = SqlDbType.UniqueIdentifier;

        if (e.CommandName.Equals("Select"))
        {

            DataTable dt = ex.GetData("sp_vntTamUng_ListAll_ChoDuyet_ListByID", p);
            if (dt.Rows.Count > 0)
            {
                try
                {

                    txtsotien.Text = dt.Rows[0]["sotien"].ToString();
                    txtSo.Text = dt.Rows[0]["sott"].ToString();
                    txtvietbangchu.Text = dt.Rows[0]["BangChu"].ToString();
                    txtlido.Text = dt.Rows[0]["lido"].ToString();


                    if (dt.Rows[0]["hinhthuc"].ToString() == "1")
                    {
                        ckchuyenkhoan.Checked = true;
                        cktienmat.Checked = false;
                        lbchinhanh.Visible = true;
                        lbchutaikhoan.Visible = true;
                        lbnganhang.Visible = true;
                        lbsotaikhoan.Visible = true;
                        txtchinhanh.Visible = true;
                        txtnganhang.Visible = true;
                        txtsotaikhoan.Visible = true;
                        txtchutaikhoan.Visible = true;
                        txtchutaikhoan.Text = dt.Rows[0]["ChuTaiKhoan"].ToString();
                        txtsotaikhoan.Text = dt.Rows[0]["SoTaiKhoan"].ToString();
                        txtnganhang.Text = dt.Rows[0]["NganHang"].ToString();
                        txtchinhanh.Text = dt.Rows[0]["ChiNhanh"].ToString();
                    }
                    else
                    {
                        cktienmat.Checked = true;
                        ckchuyenkhoan.Checked = false;
                        lbchinhanh.Visible = false;
                        lbchutaikhoan.Visible = false;
                        lbnganhang.Visible = false;
                        lbsotaikhoan.Visible = false;
                        txtchinhanh.Visible = false;
                        txtnganhang.Visible = false;
                        txtsotaikhoan.Visible = false;
                        txtchutaikhoan.Visible = false;
                    }
                    txtthoihan.Text = dt.Rows[0]["thoihan"].ToString();

                }
                catch (Exception ex1)
                {
                    gstGetMess(ex1.Message, "");
                }

            }

            btnSave.Visible = true;
            btnPDF.Visible = true;
            btncapnhat.Visible = false;
            btnXoa.Visible = false;
            btnDuyet.Visible = false;
            btnSave.Visible = false;
        }
        else
            if (e.CommandName.Equals("Del"))
            {

                try
                {
                    ex.ExecuteNonQuerry("sp_vntTamUng_Del", p);
                    btnCancel_Click(sender, e);
                    gstGetMess("Xóa thành công", "");
                    btnCancel_Click(sender, e);
                }
                catch (Exception ax)
                {
                    gstGetMess("Lỗi: " + ax.Message, "");

                }

            }
    }


    protected void btncapnhat_Click(object sender, EventArgs e)
    {
        if (f_Sua.Equals(1))
        {
            try
            {
                tk = Session["user"].ToString();
                var ht2 = ex.GetData_Text("select MaNV from vnttblnguoidung where Username='" + tk + "'");
                Guid manv = new Guid(ht2.Rows[0][0].ToString());
                Guid gID = new Guid(hdID.Value);
                p = new SqlParameter[12];
                p[0] = new SqlParameter("@IDs", gID);
                p[0].SqlDbType = SqlDbType.UniqueIdentifier;

                p[1] = new SqlParameter("@MaNguoiDeNghi", manv);
                p[1].SqlDbType = SqlDbType.UniqueIdentifier;
                p[2] = new SqlParameter("@SoTien", txtsotien.Text.Trim());
                p[2].SqlDbType = SqlDbType.Float;
                p[3] = new SqlParameter("@BangChu", txtvietbangchu.Text.Trim());
                p[3].SqlDbType = SqlDbType.NVarChar;
                if (cktienmat.Checked)
                    hinhthuc = 0;
                if (ckchuyenkhoan.Checked)
                    hinhthuc = 1;
                p[4] = new SqlParameter("@HinhThuc", hinhthuc);
                p[4].SqlDbType = SqlDbType.Int;
                p[5] = new SqlParameter("@ChuTaiKhoan", txtchutaikhoan.Text.Trim());
                p[5].SqlDbType = SqlDbType.NVarChar;
                p[6] = new SqlParameter("@SoTaiKhoan", txtsotaikhoan.Text.Trim());
                p[6].SqlDbType = SqlDbType.VarChar;
                p[7] = new SqlParameter("@NganHang", txtnganhang.Text.Trim());
                p[7].SqlDbType = SqlDbType.NVarChar;
                p[8] = new SqlParameter("@ChiNhanh", txtchinhanh.Text.Trim());
                p[8].SqlDbType = SqlDbType.NVarChar;
                p[9] = new SqlParameter("@ThoiHan", ex.GetNgayThang(txtthoihan.Text.Trim()));
                p[9].SqlDbType = SqlDbType.SmallDateTime;
                p[10] = new SqlParameter("@Lido", txtlido.Text.Trim());
                p[10].SqlDbType = SqlDbType.NVarChar;
                p[11] = new SqlParameter("@YKien", "");
                p[11].SqlDbType = SqlDbType.NVarChar;
                

                ex.ExecuteNonQuerry("sp_vntTamUng_Update", p);
                btnCancel_Click(sender, e);
                gstGetMess("Cập nhật thành công", "");
                LoadDanhSachChoDuyet();
            }


            catch (Exception ax)
            {
                gstGetMess("Có lỗi trong quá trình cập nhật, xem trong file log", "");
                ex.WriteLog(Server.MapPath("Log.txt"), DateTime.Now.ToString() + "\tNghỉ phép\t" + ax.Message);
            }
        }
        else
            gstGetMess("Bạn không có quyền sửa dữ liệu trên trang này", "");



    }
    protected void ck4_CheckedChanged(object sender, EventArgs e)
    {
        btnCancel_Click1(sender, e);
        LoadDanhSachKhongDuyet();

        GVTatca.Visible = false;
        GV.Visible = false;
        GVDaDuyet.Visible = false;
        GVKhongDuyet.Visible = true;
    }
    protected void btnLuu_Click(object sender, EventArgs e)
    {
        Guid IDs = new Guid(hdID.Value);
        p = new SqlParameter[3];
        p[0] = new SqlParameter("@IDs", IDs);
        p[0].SqlDbType = SqlDbType.UniqueIdentifier;
        p[1] = new SqlParameter("@TrangThai", rdDat.Checked ? 1 : 2);
        p[1].SqlDbType = SqlDbType.Int;
        p[2] = new SqlParameter("@KetLuan", txtNoiDung.Text.Trim());
        p[2].SqlDbType = SqlDbType.NVarChar;
        ex.ExecuteNonQuerry("sp_vnttbltamung_PheDuyet", p);
        btnCancel_Click(sender, e);
        gstGetMess("Thành công", "");
        LoadDanhSachChoDuyet();
    }


    protected void btnCancel_Click1(object sender, EventArgs e)
    {
    
        btnSave.Visible = true;
        btnPDF.Visible = false;
        btncapnhat.Visible = false;
        btnXoa.Visible = false;
        btnDuyet.Visible = false;
        txtsotien.Text = "";
        txtvietbangchu.Text = "";
        txtlido.Text = "";
        cktienmat.Checked = true;
        txtthoihan.Text = "";

    }
    protected void btnPDF_Click(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(Convert.ToString(Session["IDUser"])))
            gstGetMess("Hết phiên làm việc, vui lòng đăng nhập lại để tiếp tục", "Default.aspx");
        else
        {

            string ID = Session["IDUser"].ToString();
            if (cktienmat.Checked)
            {
                hinhthuctt = "Nhận tiền mặt";
                chutaikhoan = "";
                chutk = "";
                sotaikhoan = "";
                tkhoan = "";
                tainganhang = "";
                nh = "";
                taichinhanh = "";
                chinhanh = "";
                ViewReportTienMat("[Số: " + txtSo.Text.Trim().ToUpper() + "/VNT-ĐNTU]", txtnguoidenghi.Text.Trim(), txtchucvu.Text.Trim(), txtbophan.Text.Trim(), txtsotien.Text.Trim(), txtvietbangchu.Text.Trim(), txtlido.Text.Trim(), hinhthuctt, chutaikhoan, chutk, sotaikhoan, tkhoan, tainganhang, nh, taichinhanh, chinhanh, txtthoihan.Text.Trim());
            }
            else
            {
                hinhthuctt = "Chuyển khoản vào tài khoản có thông tin dưới đây:";
                chutaikhoan = "Chủ tài khoản:";
                chutk = txtchutaikhoan.Text.Trim();
                sotaikhoan = "Số tài khoản:";
                tkhoan = txtsotaikhoan.Text.Trim(); ;
                tainganhang = "Tại ngân hàng:";
                nh = txtnganhang.Text.Trim();
                taichinhanh = "Tại chi nhánh:";
                chinhanh = txtchinhanh.Text.Trim();
                ViewReport("[Số: " + txtSo.Text.Trim().ToUpper() + "/VNT-ĐNTU]", txtnguoidenghi.Text.Trim(), txtchucvu.Text.Trim(), txtbophan.Text.Trim(), txtsotien.Text.Trim(), txtvietbangchu.Text.Trim(), txtlido.Text.Trim(), hinhthuctt, chutaikhoan, chutk, sotaikhoan, tkhoan, tainganhang, nh, taichinhanh, chinhanh, txtthoihan.Text.Trim());
            }

        }
    }
    void ViewReport(string so, string hoten, string chucvu, string bophan, string sotien, string vietbangchu, string lido, string hinhthuc, string chutaikhoan, string chutk, string sotaikhoan, string tk, string tainganhang, string nh, string taichinhanh, string chinhanh, string thoigian)
    {

        string path = Server.MapPath("Report/BC.PDF");
        rpt = new ReportDocument();
        rpt.Load(Server.MapPath("Report/TamUngChuyenKhoan.rpt"));

        rpt.SetParameterValue("@So", so);
        rpt.SetParameterValue("@HoTen", hoten);
        rpt.SetParameterValue("@ChucVu", chucvu);
        rpt.SetParameterValue("@BoPhan", bophan);
        rpt.SetParameterValue("@SoTien", sotien);
        rpt.SetParameterValue("@VietBangChu", vietbangchu);
        rpt.SetParameterValue("@LyDo", lido);
        rpt.SetParameterValue("@HinhThuc", hinhthuc);
        rpt.SetParameterValue("@ChuTaiKhoan", chutaikhoan);
        rpt.SetParameterValue("@ChuTK", chutk);
        rpt.SetParameterValue("@SoTaiKhoan", sotaikhoan);
        rpt.SetParameterValue("@TK", tk);
        rpt.SetParameterValue("@TaiNganHang", tainganhang);
        rpt.SetParameterValue("@NH", nh);
        rpt.SetParameterValue("@TaiChiNhanh", taichinhanh);
        rpt.SetParameterValue("@ChiNhanh", chinhanh);
        rpt.SetParameterValue("@ThoiGianHoanThanhTU", thoigian);
        rpt.SetParameterValue("@NgayThang", "ngày " + ngay + " tháng " + thang + " năm " + DateTime.Now.Year.ToString());


        rpt.ExportToDisk(ExportFormatType.PortableDocFormat, path);
        HttpResponse res = HttpContext.Current.Response;
        res.ClearContent();
        res.ContentType = "application/pdf";
        res.AddHeader("Content-Disposition", "Attachment; filename=VNT-ĐXTU_" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".pdf" + ";");

        MemoryStream stream;
        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
        byte[] img = new byte[fs.Length];
        fs.Read(img, 0, Convert.ToInt32(fs.Length));
        fs.Close();
        fs.Dispose();
        stream = new MemoryStream(img);
        stream.WriteTo(Response.OutputStream);

        FileInfo f = new FileInfo(path);
        if (f.Exists) f.Delete();
        res.End();

    }
    void ViewReportTienMat(string so, string hoten, string chucvu, string bophan, string sotien, string vietbangchu, string lido, string hinhthuc, string chutaikhoan, string chutk, string sotaikhoan, string tk, string tainganhang, string nh, string taichinhanh, string chinhanh, string thoigian)
    {

        string path = Server.MapPath("Report/BC.PDF");
        rpt = new ReportDocument();
        rpt.Load(Server.MapPath("Report/TamUng.rpt"));

        rpt.SetParameterValue("@So", so);
        rpt.SetParameterValue("@HoTen", hoten);
        rpt.SetParameterValue("@ChucVu", chucvu);
        rpt.SetParameterValue("@BoPhan", bophan);
        rpt.SetParameterValue("@SoTien", sotien);
        rpt.SetParameterValue("@VietBangChu", vietbangchu);
        rpt.SetParameterValue("@LyDo", lido);
        rpt.SetParameterValue("@HinhThuc", hinhthuc);
        rpt.SetParameterValue("@ChuTaiKhoan", chutaikhoan);
        rpt.SetParameterValue("@ChuTK", chutk);
        rpt.SetParameterValue("@SoTaiKhoan", sotaikhoan);
        rpt.SetParameterValue("@TK", tk);
        rpt.SetParameterValue("@TaiNganHang", tainganhang);
        rpt.SetParameterValue("@NH", nh);
        rpt.SetParameterValue("@TaiChiNhanh", taichinhanh);
        rpt.SetParameterValue("@ChiNhanh", chinhanh);
        rpt.SetParameterValue("@ThoiGianHoanThanhTU", thoigian);
        rpt.SetParameterValue("@NgayThang", "ngày " + ngay + " tháng " + thang + " năm " + DateTime.Now.Year.ToString());


        rpt.ExportToDisk(ExportFormatType.PortableDocFormat, path);
        HttpResponse res = HttpContext.Current.Response;
        res.ClearContent();
        res.ContentType = "application/pdf";
        res.AddHeader("Content-Disposition", "Attachment; filename=VNT-ĐXTU_" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".pdf" + ";");

        MemoryStream stream;
        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
        byte[] img = new byte[fs.Length];
        fs.Read(img, 0, Convert.ToInt32(fs.Length));
        fs.Close();
        fs.Dispose();
        stream = new MemoryStream(img);
        stream.WriteTo(Response.OutputStream);

        FileInfo f = new FileInfo(path);
        if (f.Exists) f.Delete();
        res.End();

    }
    protected void btnXoa_Click(object sender, EventArgs e)
    {
        try
        {
            Guid gID = new Guid(hdID.Value);
            p = new SqlParameter[1];
            p[0] = new SqlParameter("@IDs", gID);
            p[0].SqlDbType = SqlDbType.UniqueIdentifier;
            ex.ExecuteNonQuerry("sp_vntTamUng_Del", p);
            btnCancel_Click(sender, e);
            gstGetMess("Xóa thành công", "");
            LoadDanhSachChoDuyet();
        }
        catch (Exception ax)
        {
            gstGetMess("Có lỗi trong quá trình xóa, xem trong file log", "");
            ex.WriteLog(Server.MapPath("Log.txt"), DateTime.Now.ToString() + "\tTạm ứng\t" + ax.Message);

        }
    }
    public string ToString(decimal number)
    {
        string s = number.ToString("#");
        string[] so = new string[] { "không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín" };
        string[] hang = new string[] { "", "nghìn", "triệu", "tỷ" };
        int i, j, donvi, chuc, tram;
        string str = " ";
        bool booAm = false;
        decimal decS = 0;
        //Tung addnew
        try
        {
            decS = Convert.ToDecimal(s.ToString());
        }
        catch
        {
            return "";
        }
        if (decS < 0)
        {
            decS = -decS;
            s = decS.ToString();
            booAm = true;
        }
        i = s.Length;
        if (i == 0)
            str = so[0] + str;
        else
        {
            j = 0;
            while (i > 0)
            {
                donvi = Convert.ToInt32(s.Substring(i - 1, 1));
                i--;
                if (i > 0)
                    chuc = Convert.ToInt32(s.Substring(i - 1, 1));
                else
                    chuc = -1;
                i--;
                if (i > 0)
                    tram = Convert.ToInt32(s.Substring(i - 1, 1));
                else
                    tram = -1;
                i--;
                if ((donvi > 0) || (chuc > 0) || (tram > 0) || (j == 3))
                    str = hang[j] + str;
                j++;
                if (j > 3) j = 1;
                if ((donvi == 1) && (chuc > 1))
                    str = "một " + str;
                else
                {
                    if ((donvi == 5) && (chuc > 0))
                        str = "lăm " + str;
                    else if (donvi > 0)
                        str = so[donvi] + " " + str;
                }
                if (chuc < 0)
                    break;
                else
                {
                    if ((chuc == 0) && (donvi > 0)) str = "lẻ " + str;
                    if (chuc == 1) str = "mười " + str;
                    if (chuc > 1) str = so[chuc] + " mươi " + str;
                }
                if (tram < 0) break;
                else
                {
                    if ((tram > 0) || (chuc > 0) || (donvi > 0)) str = so[tram] + " trăm " + str;
                }
                str = " " + str;
            }
        }
        if (booAm) str = "Âm " + str;
        return str + "đồng chẵn";
    }
    protected void txtsotien_TextChanged(object sender, EventArgs e)
    {
        decimal sotien ;
        sotien = decimal.Parse(txtsotien.Text.Trim());
       txtvietbangchu.Text= ToString(sotien);
    }
}
